Communication system and method using unitary braid divisional multiplexing (ubdm) with physical layer security

ABSTRACT

A system includes first and second sets of communication devices. A processor coupled to the first set of communication devices produces a first encoded vector and transmits the first encoded vector to the second set of communication devices via a communication channel that applies a channel transformation to the first encoded vector during transmission. A processor coupled to the second set of communication devices receives the transformed signal, detects an effective channel thereof, and identifies left and right singular vectors of the effective channel. A precoding matrix is selected from a codebook of unitary matrices based on a message, and a second encoded vector is produced based on a second known vector, the precoding matrix, a complex conjugate of the left singular vectors, and the right singular vectors. The second encoded vector is sent to the first set of communication devices for identification of the message.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/527,240, filed Jul. 31, 2019 and titled “Communication System andMethod Using Unitary Braid Divisional Multiplexing (UBDM) with PhysicalLayer Security,” the disclosure of which is incorporated by referenceherein in its entirety,

This application is related to U.S. Nonprovisional patent applicationSer. No. 15/351,428, filed on Nov. 14, 2016 and titled “RELIABLEORTHOGONAL SPREADING CODES IN WIRELESS COMMUNICATIONS” (now U.S. Pat.No. 10,020,839) and U.S. patent application Ser. No. 16/459,245, filedon Jul. 1, 2019 and titled “SYSTEMS, METHODS AND APPARATUS FOR SECUREAND EFFICIENT WIRELESS COMMUNICATION OF SIGNALS USING A GENERALIZEDAPPROACH WITHIN UNITARY BRAID DIVISION MULTIPLEXING,” the disclosures ofeach of which are herein incorporated by reference in their entireties.

STATEMENT REGARDING FEDERAL GOVERNMENT INTEREST

This United States Government holds a nonexclusive, irrevocable,royalty-free license in the invention with power to grant licenses forall United States Government purposes.

TECHNICAL FIELD

This description relates to systems and methods for transmittingwireless signals for electronic communications and, in particular, towireless communications with physical layer security.

BACKGROUND

In multiple access communications, multiple user devices transmitsignals over a given communications channel to a receiver. These signalsare superimposed, forming a combined signal that propagates over thatchannel. The receiver then performs a separation operation on thecombined signal to recover one or more individual signals from thecombined signal. For example, each user device may be a cell phonebelonging to a different user and the receiver may be a cell tower. Byseparating signals transmitted by different user devices, the differentuser devices may share the same communications channel withoutinterference.

A transmitter may transmit different symbols by varying a state of acarrier or subcarrier, such as by varying an amplitude, phase and/orfrequency of the carrier. Each symbol may represent one or more bits.These symbols can each be mapped to a discrete value in the complexplane, thus producing Quadrature Amplitude Modulation, or by assigningeach symbol to a discrete frequency, producing Frequency Shift Keying.The symbols are then sampled at the Nyquist rate, which is at leasttwice the symbol transmission rate. The resulting signal is converted toanalog through a digital-to-analog converter, and then up-converted tothe carrier frequency for transmission. When different user devices sendsymbols at the same time over the communications channel, the sine wavesrepresented by those symbols are superimposed to form a combined signalthat is received at the receiver.

A known approach to wireless signal communication is orthogonalfrequency-division multiplexing (OFDM), which is a method of encodingdigital data on multiple carrier frequencies. OFDM methods have beenadapted to permit signal communications that cope with severe conditionsof communication channels such as attenuation, interference, andfrequency-selective fading. Such an approach, however, does not addressa desire for a physical layer of security of signal transmission.Furthermore, the OFDM signal includes signal amplitudes over a verylarge dynamic range, often requiring transmitters that can handle a highpeak-to-average-power ratio.

Thus, a need exists for improved systems, apparatuses and methods for asecure, power efficient approach to wireless communication of signals.

SUMMARY

In some embodiments, a system includes first and second sets ofcommunication devices. A processor coupled to the first set ofcommunication devices produces a first encoded vector and transmits thefirst encoded vector to the second set of communication devices via acommunication channel that applies a channel transformation to the firstencoded vector during transmission. A processor coupled to the secondset of communication devices receives the transformed signal, detects aneffective channel thereof, and identifies left and right singularvectors of the effective channel. A precoding matrix is selected from acodebook of unitary matrices based on a message, and a second encodedvector is produced based on a second known vector, the precoding matrix,a complex conjugate of the left singular vectors, and the right singularvectors. The second encoded vector is sent to the first set ofcommunication devices for identification of the message.

In some embodiments, a communication method using unitary braiddivisional multiplexing (UBDM) with physical layer security includesreceiving, via a first communication device and at a first processor, asignal representing a first encoded vector and a channel transformation.The first processor detects a representation of an effective channelbased on the received signal, and performs a singular valuedecomposition of the representation of the effective channel to identifyleft singular vectors of the representation of the effective channel andright singular vectors of the representation of the effective channel.The first processor selects a precoding matrix from a codebook ofunitary matrices, the precoding matrix associated with an index for amessage for transmission. The first processor produces a second encodedvector based on a second known vector, the precoding matrix, a complexconjugate of the left singular vectors, and the right singular vectorsof the representation of the effective channel, and transmits a signalrepresenting the second encoded vector, through a communication channel,to a second communication device, for identification of the message at asecond processor operably coupled to the second communication device.

In some embodiments, a communication method using UBDM or OFDM withphysical layer security includes generating, at a first processor of afirst communication device, a first encoded vector using a first knownvector and a unitary matrix. A first signal representing the firstencoded vector is transmitted to a second communication device through acommunication channel that applies a channel transformation to the firstsignal during transmission. A second signal representing a secondencoded vector and the channel transformation is received at the firstprocessor from the second communication device, and the first processordetects a representation of an effective channel based on the secondsignal. The first processor performs a singular value decomposition ofthe representation of the effective channel to identify right singularvectors of the representation of the effective channel, and queries acodebook of unitary matrices to identify a message associated with thesecond signal based on the right singular vectors of the representationof the effective channel and the unitary matrix.

In some embodiments, a communication method using UBDM or OFDM withphysical layer security includes applying an arbitrary transformation toa plurality of vectors to produce a plurality of transformed vectors.The arbitrary transformation includes one of a unitary transformation,an equiangular tight frame (ETF) transformation, or a nearly equiangulartight frame (NETF) transformation. Using the arbitrary transformation, atransformed signal is produced based on at least one transformed vectorfrom the plurality of transformed vectors. The transformed signal istransmitted, via a communications channel, to a signal receiver that isconfigured to detect the transformed signal. A signal representing thearbitrary transformation is provided to the signal receiver, forrecovery of the plurality of vectors at the signal receiver based on thearbitrary transformation and one of a location-specific physicalcharacteristic of the communications channel or a device-specificphysical characteristic of the communications channel.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustration of a secure and efficient generalizedUnitary Braid Divisional Multiplexing (gUBDM) system, according to anembodiment.

FIG. 2 is a schematic representation of a signal transmitter within agUBDM system, according to an embodiment.

FIG. 3 is a schematic representation of a signal receiver within a gUBDMsystem, according to an embodiment

FIG. 4A is a schematic representation of a processing of a signal at asignal transmitter of an OFDM system.

FIG. 4B is a schematic representation of a processing of a signal at asignal transmitter of a gUBDM system, according to an embodiment.

FIG. 4C is a schematic representation of a processing of a signal at asignal transmitter of a gUBDM system, according to an embodiment

FIG. 5 is a flowchart describing a method of processing and transmittinga signal using a gUBDM system, according to an embodiment.

FIG. 6 is a flowchart describing a method of processing and transmittinga signal using a gUBDM system, according to an embodiment

FIG. 7 is a flowchart describing a method of receiving and recovering asignal using a gUBDM system, according to an embodiment.

FIG. 8 is a schematic representation of a communication system usingUBDM or OFDM with physical layer security, according to an embodiment.

FIG. 9 is a flowchart illustrating a method of communicating using UBDMor OFDM with physical layer security, according to an embodiment.

FIG. 10 is a flowchart illustrating a method of communicating using UBDMor OFDM with physical layer security, according to an embodiment.

DETAILED DESCRIPTION

The present disclosure sets forth a generalized Unitary Braid DivisionalMultiplexing (gUBDM) system for modulation-based communicationssecurity, followed by a UBDM or OFDM system implementation that includesPhysical Layer Security (PLS). The PLS can be referred to as “enhancedMOPRO,” and includes a modified version of a key exchange algorithmreferred to as MIMO-OFDM Precoding with Rotation (MOPRO).

In some embodiments set forth herein, a gUBDM includes a modifiedOrthogonal Frequency Divisional Multiplexing (OFDM) system. The modifiedOFDM system can include some components common to an unmodified OFDMsystem, but also includes a generalized version of an OFDM component(e.g., a subset of the functionality of the OFDM). The gUBDM system canbe designed to implement (e.g., in hardware and/or software executed byor stored in hardware) a modified OFDM step during operation, to executea paired operation including performing an inverse Fast FourierTransform (iFFT) (or a Fast Fourier Transform FFT) of signals at asignal transmitter to generate transformed signals that are transmitted,and then performing a Fast Fourier Transform (FFT) (or an inverseFourier Transform iFFT) on the transformed signals at a receiver torecover the signals. The modification includes generalizing the iFFT/FFTperformed by the transmitter to an arbitrary transformation (representedby an arbitrary matrix, for example an arbitrary unitary matrix).

Embodiments of a gUBDM system, as described in further detail herein,and including embodiments with the above modification of an OFDM system,can impart exceptional security and efficiency in transmission ofsignals over wireless communication channels. Other benefits ofembodiments of the gUBDM as described herein include an ability to usenon-linear transformations, as well as a generalized implementationinvolving equiangular tight frame (ETF) transformations or nearlyequiangular tight frame (NETF) transformations as an example. StandardOFDM doesn't allow for a generalization to ETF/NETF “overloading”.

Generalizing to an arbitrary unitary as implemented in a gUBDM system asdescribed herein can also have the effect of spreading the energy ofeach symbol or vector in a signal to be transmitted across the differentsubcarriers. Spreading the energy of each symbol or vector in a signalto be transmitted can reduce the Peak-to-Average-Power-Ratio (PAPR) ofthe signal, and provide a degree of spreading (and, therefore,interference rejection) that is comparable to systems such as DirectSequence Spread Spectrum (DSSS) systems. Spreading the energy of eachsymbol or vector in a signal to be transmitted can also provide an extradegree of freedom in multiplexing. In other words, in addition tostandard frequency division multiplexing and time division multiplexing,a gUBDM system introduces code division multiplexing, which adds apowerful degree of freedom for multiplexing in a signal transmissionsystem.

As used herein, a “transmitter” (or “signal transmitter”) refers to anycollection of components that are used in the transmission of signals,including any combination of, but limited to, one or more: antennas,amplifiers, cables, digital-to-analog converters, filters,up-converters, processors (e.g., for reading bits and/or mapping of bitsto a baseband), etc. Similarly, as used herein, a “receiver” (or “signalreceiver”) refers to any collection of components that are used inreceiving signals, including any combination of, but limited to, one ormore: antennas, amplifiers, cables, analog-to-digital converters,filters, down-converters, processors, etc.

FIG. 1 is a schematic illustration of a secure and efficient,generalized Unitary Braid Divisional Multiplexing system 100, alsoreferred to herein as a “gUBDM system” or “a system,” according to anembodiment. The gUBDM 100 is configured to send and/or receive wirelesselectronic communications in a secure and efficient manner. The gUBDMsystem 100 includes signal transmitters 101 and 102, signal receivers103 and 104, and a communication network 106, as illustrated in FIG. 1.The gUBDM system 100 is configured to process and transmit a signal fromthe signal transmitters 101 and 102 via one or more communicationchannels defined via the communication network to the signal receivers103 and 104. Given a signal to be transmitted from a signal transmitter101 and/or 102 and to a signal receiver 103 and/or 104, the gUBDM system100 is configured such that the signal transmitter 101 and/or 102 canprocess the signal by applying an arbitrary transformation to generate atransformed signal that is transmitted to the signal receivers 103and/or 104. The arbitrary transformation can be applied using one ormore of hardware, software, a field-programmable gate array (FPGA), etc.The signal transmitters 101 and/or 102 also send to the signal receivers103 and/or 104 (e.g., before transmitting the signal) an indication ofthe arbitrary transformation that was applied. The signal receivers 103and/or 104 are configured to receive the transformed signal and theindication of the arbitrary transformation applied by the signaltransmitter(s) and apply an inverse of the arbitrary transformation torecover the signal from the transformed signal. While the system 100 isillustrated to include two signal transmitters 101 and 102, and twosignal receivers 103 and 104, a similar gUBDM system can include anynumber of signal transmitters and/or signal receivers.

In some embodiments, the communication network 106 (also referred to as“the network”) can be any suitable communications network that includesone or more communication channels configured for wirelesslytransferring data, operating over public and/or private networks.Although not shown, in some implementations, the signal transmitters101,102 and signal receivers 103,104 (or portions thereof) can beconfigured to operate within, for example, a data center (e.g., a cloudcomputing environment), a computer system, one or more server/hostdevices, and/or so forth. In some implementations, the signaltransmitters 101,102 and signal receivers 103,104 can function withinvarious types of network environments that can include one or moredevices and/or one or more server devices. For example, the network 106can be or can include a private network, a Virtual Private Network(VPN), a Multiprotocol Label Switching (MPLS) circuit, the Internet, anintranet, a local area network (LAN), a wide area network (WAN), ametropolitan area network (MAN), a worldwide interoperability formicrowave access network (WiMAX®), a Bluetooth® network, a virtualnetwork, and/or any combination thereof. In some instances, thecommunication network 106 can be a wireless network such as, forexample, a Wi-Fi or wireless local area network (“WLAN”), a wirelesswide area network (“WWAN”), and/or a cellular network. The communicationnetwork 106 can be, or can include a wireless network and/or wirelessnetwork implemented using, for example, gateway devices, bridges,switches, and/or so forth. The network 106 can include one or moresegments and/or can have portions based on various protocols such asInternet Protocol (IP) and/or a proprietary protocol. The communicationnetwork 106 can include at least a portion of the Internet. In someinstances, the communication network 106 can include multiple networksor subnetworks operatively coupled to one another by, for example,network bridges, routers, switches, gateways and/or the like (notshown).

FIG. 2 is a schematic block diagram of an example signal transmitter 201that can be a part of an gUBDM system such as the gUBDM system 100described above with reference to FIG. 1, according to an embodiment.The signal transmitter 201 can be structurally and functionally similarto the signal transmitters 101,102 of the system 100 illustrated inFIG. 1. In some embodiments, the signal transmitter 201 can be, or caninclude, processors configured to process instructions stored in amemory The signal transmitter 201 can be a hardware-based computingdevice and/or a multimedia device, such as, for example, a server, adesktop compute device, a smartphone, a tablet, a wearable device, alaptop and/or the like. The signal transmitter 201 includes a processor211, a memory 212 (e.g., including data storage), and a communicator213.

The processor 211 can be, for example, a hardware based integratedcircuit (IC) or any other suitable processing device configured to runand/or execute a set of instructions or code. For example, the processor211 can be a general purpose processor, a central processing unit (CPU),an accelerated processing unit (APU), an application specific integratedcircuit (ASIC), a digital signal processor (DSP), a field programmablegate array (FPGA), a programmable logic array (PLA), a complexprogrammable logic device (CPLD), a programmable logic controller (PLC)and/or the like. The processor 211 can be operatively coupled to thememory 212 through a system bus (for example, address bus, data busand/or control bus).

The processor 211 can be configured to receive a signal to betransmitted and to perform processing to transform the signal into atransformed signal by applying an arbitrary transformation. In someimplementations, the processor 211 can apply an arbitrary transformationthat is defined to be a unitary transformation such that the transformedsignal can be transmitted in a secure and efficient manner using thegUBDM system.

The processor 211 can include a set of components including a converter214, an arbitrary transform selector 215, and an arbitrary transformapplier 216. The processor 211 can receive a set of signals 221A, 221B,perform a set of arbitrary transformations 231A, 231B, and send a set oftransformed signals 241A, 241B.

In some embodiments, each of the converter 214, an arbitrary transformselector 215, and an arbitrary transform applier 216 can be softwarestored in the memory 212 and executed by processor 211. For example,each of the above mentioned portions of the processor 211 can be code tocause the processor 211 to execute the converter 214, the arbitrarytransform selector 215, and the arbitrary transform applier 216. Thecode can be stored in the memory 212 and/or a hardware-based device suchas, for example, an ASIC, an FPGA, a CPLD, a PLA, a PLC and/or the like.In other embodiments, each of the converter 214, the arbitrary transformselector 215, and the arbitrary transform applier 216 can be hardwareconfigured to perform the respective functions. In some embodiments,each of the components can a combination of software and hardware based.In some embodiments one or more of the components (e.g., converter 214,the arbitrary transform selector 215, the arbitrary transform applier216) of the processor 211 can be configured to operate based on one ormore platforms (e.g., one or more similar or different platforms) thatcan include one or more types of hardware, software, firmware, operatingsystems, runtime libraries, and/or so forth. In some implementations,the components of the signal transmitter can be configured to operatewithin a cluster of devices (e.g., a server farm). In such animplementation, the functionality and processing of the components ofthe signal transmitter 201 can be distributed to several devices of thecluster of devices. The components of the signal transmitter 201 andsignal receiver 301 can be, or can include, any type of hardware and/orsoftware configured to process attributes (shown in FIG. 3).

The converter 214 can be configured to receive a signal to betransmitted and prepare the signal in a form that can be transformed bythe processor 211 using an arbitrary transformation. For example, insome embodiments, the processor 211 can receive a signal in the form ofa serial set of symbols b_(n). The converter 214 can be configured toperform a serial-to-parallel computation on the set of symbols b_(n) toconvert the serial set of symbols b_(n) to a parallel set of symbols. Insome embodiments, the converter 214 can generate a plurality of vectors(e.g., vectors 221A and 221B) based on the set of symbols. In someimplementations, the converter 214 can receive a signal in the form of aplurality of input bits. The converter 214 can be configured to generatea plurality of symbols based on the plurality of input bits. Theconverter 214 can be further configured to generate a plurality ofblocks based on the plurality of symbols where each block from theplurality of blocks represents a vector from a plurality of vectors(e.g., vectors 221A, 221B). Alternatively, the converter 214 can befurther configured to generate multiple pluralities of blocks based onthe plurality of symbols where each plurality of blocks from themultiple pluralities of blocks represents a vector from a plurality ofvectors (e.g., vectors 221A, 221B).

The arbitrary transform selector 215 can be configured to select, basedat least partly on the signal to be transmitted or the plurality ofvectors generated by the converter 214, an arbitrary transformation(e.g., arbitrary transformation 231A, 231B) to be applied on theplurality of vectors (e.g., vectors 221A, 221B) to securely andefficiently transmit the vectors from the signal transmitter 201 to oneor more receivers associated with the gUBDM system. The arbitrarytransformation (e.g., arbitrary transformation 231A, 231B) can includeone of, or a combination of any of, a non-linear transformation, aunitary transformation, an ETF transformation, or a NETF transformation.In some embodiments, the arbitrary transform selector 215 can haveaccess to a library of arbitrary transformations that are unitary bydesign (e.g., arbitrary transformation 231A, 231B) from which one can beselected for transmitting a signal. The arbitrary transform selector 215can select the arbitrary transformation based, for example, on atransformation type and/or a criteria negotiated between twocommunicants via a telecommunications handshake or otherwise input by aparticipant in the communications system. The criteria can include, forexample, one or more of: a desired security level, a latency threshold,an error rate threshold, a minimum data rate, a maximum data rate, etc.Notably, unitary transformation is the largest class of transformationsthat can be performed on a vector of symbols that leaves the total powerof the signal unchanged. If a non-unitary transformation is used, thenthe inverse transformation at the receiver will necessarily amplifynoise in some of the received symbols, whereas this is not the case ofunitary transformations.

In some instances, the arbitrary transformation selector 215 can beconfigured to select a transformation that is not an identity matrix, adiscrete Fourier matrix, or is any other direct sum of Fourier matrices.For example in some implementations the arbitrary transformationsselector 215 can have a library of unitary transformations and based ona set of guidelines select one unitary transformation U and performcomputations to check if U is an identity matrix, or a discrete Fouriermatrix, or is any other direct sum of a set of Fourier matrices. If U isone of the three above categories, in some embodiments the arbitrarytransform selector 215 can discard U and select another transformationthat can meet the guideline of not being any of the above threecategories. If the arbitrary transformation selector 215 picks atransformation U that is not an identity matrix, a discrete Fouriermatrix, or is any other direct sum of Fourier matrices it can thenassign U as the arbitrary transformation A to be used for an instance oftransforming a signal to be transmitted using a gUBDM system accordingto that embodiment.

In some implementations, the arbitrary transform selector 215 canperform the selection based on a set of inputs received by the processor211. In some implementations, the arbitrary transform selector 215 canperform the selection based on a set of parameters associated with thesignal, the plurality of vectors, the nature of signal transmission(e.g., a security requirement, sensitivity of information content in thesignal, path of signal transmission, etc.). In some implementations, thearbitrary transform selector 215 can be configured to define andgenerate an arbitrary transformation according a set of inputs receivedby the processor 211 (e.g., a set of user inputs received by theprocessor 211).

The arbitrary transform applier 216 can apply the selected arbitrarytransformation on the plurality of vectors (e.g., vectors 221A, 221B) togenerate a plurality of transformed vectors (e.g., transformed vectors2411A, 241B). In some implementations, the plurality of transformedvectors can have a total magnitude that substantially equals a totalmagnitude of the plurality of vectors.

The transformed vectors can then be sent to the signal transmitterantennas 217 and 218 included in the communicator 213 to be sent to oneor more signal receivers associated with a signal receiver. In someimplementations, for example, the arbitrary transform applier 216 can beconfigured to perform matrix operations to apply a transformation matrixA on a set of vectors to generate transformed vectors. In someimplementations, the arbitrary transform applier 216 can be configuredto perform any suitable number of procedures (e.g. signal processingprocedures, suitable matrix operations) on a set of vectors beforeapplying an arbitrary transformation.

While illustrated to include two signal transmitter antennas 217 and218, as described above, a similar signal transmitter could include asingle transmitter antenna according to some embodiments. A similarsignal transmitter could include any suitable higher number of signaltransmitter antennas (i.e., more than two transmitter antennas)according to still other embodiments. In some embodiments the signaltransmitter 201 can include a plurality of antenna arrays configured toperform Multiple Input Multiple Output (MIMO) operations.

The memory 212 of the signal transmitter 201 can be, for example, arandom access memory (RAM), a memory buffer, a hard drive, a read-onlymemory (ROM), an erasable programmable read-only memory (EPROM), and/orthe like. The memory 212 can store, for example, one or more softwaremodules and/or code that can include instructions to cause the processor211 to perform one or more processes, functions, and/or the like (e.g.,functions associated with the converter 214, the arbitrary transformselector 215, the arbitrary transform applier 216). In some embodiments,the memory 212 can include extendable storage units that can be addedand used incrementally. In some implementations, the memory 212 can be aportable memory (for example, a flash drive, a portable hard disk,and/or the like) that can be operatively coupled to the processor 211.In other instances, a memory can be remotely operatively coupled withthe signal transmitter 201. For example, a remote database server canserve as a memory and be operatively coupled to the signal transmitter201.

The communicator 213 can be a hardware device operatively coupled to theprocessor 211 and memory 212 and/or software stored in the memory 212executed by the processor 211. The communicator 213 can include a signaltransmitter antenna 217 and optionally a signal transmitter antenna 218.While a second transmitter antenna 218 in addition to the transmitter217 is shown in FIG. 2, a signal transmitter similar to the signaltransmitter 201 can have any number of transmitter antennas, accordingto some embodiments, or just a single signal transmitter antenna,according to some other embodiments. The communicator 213 can be, forexample, a network interface card (NIC), a Wi-Fi™ module, a Bluetooth®module and/or any other suitable wired and/or wireless communicationdevice. Furthermore the communicator 213 can include a switch, a router,a hub and/or any other network device. The communicator 213 can beconfigured to connect the compute device 201 to a communication network(such as the communication network 106 shown in FIG. 1). In someinstances, the communicator 213 can be configured to connect, via one ormore communication channels, to a communication network such as, forexample, the Internet, an intranet, a local area network (LAN), a widearea network (WAN), a metropolitan area network (MAN), a worldwideinteroperability for microwave access network (WiMAX®), an optical fiber(or fiber optic)-based network, a Bluetooth® network, a virtual network,and/or any combination thereof.

In some instances, the communicator 213 can facilitate receiving and/ortransmitting a file and/or a set of files via one or more communicationchannels through a communication network (e.g., the communicationnetwork 106 in the gUBDM system 100 of FIG. 1). In some instances, areceived file can be processed by the processor 211 and/or stored in thememory 212 as described in further detail herein. In some instances, asdescribed previously, the communicator 213 can be configured to send aplurality of transformed vectors, via the signal transmitter antennas217 and 218, to one or more signal receiver antennas associated with oneor more signal receivers connected to a communication network as part ofa gUBDM system. The communicator 213 can also be configured to sendand/or receive data associated with a library of arbitrarytransformation systems.

Returning to FIG. 1, the signal transmitters 101,102 that are connectedto gUBDM system 100 can be configured to communicate with and transmitsignals to signal receivers 103, 104 via one or more communicationchannels defined in the communication network 106. FIG. 3 is a schematicrepresentation of a signal receiver 301 that is part of gUBDM system.The signal receiver 301 can be structurally and functionally similar tothe signal receivers 103, 104 of the system 100 illustrated in FIG. 1.The signal receiver 301 includes a processor 311, a memory 312, and acommunicator 313.

The processor 311 can be, for example, a hardware based integratedcircuit (IC) or any other suitable processing device configured to runand/or execute a set of instructions or code. For example, the processor311 can be a general purpose processor, a central processing unit (CPU),an accelerated processing unit (APU), an application specific integratedcircuit (ASIC), a digital signal processor (DSP), a field programmablegate array (FPGA), a programmable logic array (PLA), a complexprogrammable logic device (CPLD), a programmable logic controller (PLC)and/or the like. The processor 311 can be operatively coupled to thememory 312 through a system bus (for example, address bus, data busand/or control bus).

The processor 311 can be configured to receive a transformed signal thatis securely transmitted via one or more communication channels definedin a communication network (e.g., network 106 of FIG. 1), obtaininformation associated with an arbitrary transformation that was used togenerate the transformed signal, and based on the information processthe transformed signal to recover an original signal (e.g., by applyingan inverse of the arbitrary transformation) such that the originalsignal can be received by a destination in a secure and efficient mannerusing the gUBDM system, according to an embodiment.

The processor 311 can include a set of components including a converter314, an arbitrary transform identifier 315, and an arbitrary transformreverser 316. The processor 311 can include, or access from memory 312,a plurality of transformed vectors 341A, 341B, representing transformedsignals, received from one or more transmitter antennas of a signaltransmitter (e.g., transmitter antennas 217 and 218 of signaltransmitter 201) that is part of the gUBDM system that the signalreceiver 301 is part of. The processor 311 can include or access inmemory 312 a set of arbitrary transformations 331A and 331B, identifiedbased on information associated with a signal received from a signaltransmitter, and a set of reverse transformations 351A, 351B, computedbased on the identified arbitrary transformations, and a plurality ofvectors 321A, 321B representing a set of original signals.

The arbitrary transform identifier 315 can be configured to receiveinformation associated with a transformed signal (e.g., transformedsignal represented by transformed vectors 341A, 341B) received via thesignal receivers 317 and 318, the information including an indication ofthe identity of an arbitrary transformation that was used in generatingthe transformed signals. The arbitrary transform identifier 315 isconfigured to, based on the information, identify the arbitrarytransformation that can be used to recover an original signal (e.g.,original signal represented by plurality of vectors 321A, 321B) from thetransformed signal (e.g., transformed signals 341A, 341B).

The arbitrary transform reverser 316 generates, based on the identity ofthe arbitrary transformation, an inverse of the identified arbitrarytransformation, also referred to as a reverse transformation (e.g.,reverse transformations 351A, 351B) configured to reverse the effects ofthe identified arbitrary transformation to recover the original signalfrom a transformed signal. For example, in some embodiments, thearbitrary transform reverser 316 generates a reverse transformation (A′)351A configured to be applied on a plurality of transformed vectors 341Aand 341B, representing a transformed signal, and received by the signalreceiver 301, so that the reverse transformation (A′) 351A can reversethe effects of an arbitrary transformation (A) 331A and recover aplurality of vectors 321A and 321B representing an original signal.

The converter 314 can be configured to receive a recovered plurality ofvectors (e.g., 321A and 321B) representing an original signal andregenerate the original signal from the recovered plurality of vectors.For example, in some embodiments, the processor can receive a parallelset of symbols b_(n). The converter 314 can be configured to perform aparallel-to-serial computation on the set of symbols b_(n) to convertthe parallel set of symbols b_(n) to a serial set of symbols that can besimilar to the original signal. In some embodiments, the converter 314can receive a plurality of recovered vectors (e.g., vectors 321A and321B) and generate, based on the vectors, an original signal including aset of symbols. In some embodiments, the converter 314 can receive aplurality of recovered vectors (e.g., vectors 321A and 321B) andgenerate, based on the recovered vectors pluralities of blocks eachplurality of blocks representing a vector of the plurality of vectors.The converter 314 can then regenerate, based on the pluralities ofblocks, a plurality of input bits from which it can recover an originalsignal.

The memory 312 of the signal receiver 301 can be similar in structureand/or function to the memory 212 of the signal transmitter 201. Forexample, the memory 312 can be a random access memory (RAM), a memorybuffer, a hard drive, a read-only memory (ROM), an erasable programmableread-only memory (EPROM), and/or the like. The memory 312 can store, forexample, one or more software modules and/or code that can includeinstructions to cause the processor 311 to perform one or moreprocesses, functions, and/or the like (e.g., functions associated withthe converter 314, the arbitrary transform identifier 315, the arbitrarytransform reverser 316). In some embodiments, the memory 312 can includeextendable storage units that can be added and used incrementally. Insome implementations, the memory 312 can be a portable memory (forexample, a flash drive, a portable hard disk, and/or the like) that canbe operatively coupled to the processor 311. In other instances, thememory can be remotely operatively coupled with the signal receiver 301.For example, a remote database server can serve as a memory and beoperatively coupled to the signal receiver 301.

The communicator 313 can be a hardware device operatively coupled to theprocessor 311 and memory 312 and/or software stored in the memory 312executed by the processor 311. The communicator 313 can include a signalreceiver antenna 317 and optionally a signal receiver antenna 318. Whilea second receiver 318 in addition to the receiver 317 is shown in FIG.3, a signal receiver similar to the signal receiver 301 can have anynumber of receivers, according to some embodiments, or just a singlesignal receiver, according to some other embodiments. The communicator313 can be, for example, a network interface card (NIC), a Wi-Fi™module, a Bluetooth® module and/or any other suitable wired and/orwireless communication device. Furthermore the communicator 313 caninclude a switch, a router, a hub and/or any other network device. Thecommunicator 313 can be configured to connect the signal receiver 301 toa communication network (such as the communication network 106 shown inFIG. 1). In some instances, the communicator 313 can be configured toconnect to a communication network such as, for example, the Internet,an intranet, a local area network (LAN), a wide area network (WAN), ametropolitan area network (MAN), a worldwide interoperability formicrowave access network (WiMAX®), an optical fiber (or fiberoptic)-based network, a Bluetooth® network, a virtual network, and/orany combination thereof.

In some instances, the communicator 313 can facilitate receiving and/ortransmitting a file and/or a set of files via one or more communicationchannels defined in a communication network (e.g., the communicationnetwork 106 in the gUBDM system 100 of FIG. 1). In some instances, areceived file can be processed by the processor 311 and/or stored in thememory 312 as described in further detail herein. In some instances, asdescribed previously, the communicator 313 can be configured such thatthe signal receivers 317 and 318 include one or more antennas tuned toreceive transformed signals of a particular predetermined centerfrequency within a predetermined bandwidth, to receive transformedsignals securely and efficiently transmitted by one or more signaltransmitter antennas associated with one or more signal transmittersconnected to a communication network as part of a gUBDM system. Thecommunicator 313 can also be configured to send and/or receive dataassociated with a library of arbitrary transformation systems. In someembodiments the signal receiver 301 can include a plurality of antennaarrays configured to perform Multiple Input Multiple Output (MIMO)operations.

In some embodiments, the gUBDM system (e.g., gUBDM system 100) can be insome aspects partly similar in structure and/or function to anOrthogonal Frequency Divisional Multiplexing (OFDM) system. For example,an example pipeline for an OFDM system 400′ can include a set ofoperations as presented in FIG. 4A, where vector b can be a set ofsymbols b_(n).

In the example OFDM system 400′, the symbols b_(n) enter an OFDMtransmitter and are first put through a “serial-to-parallel” (labeled“S/P” above) computation, and then they are run through an inverse FFT(labeled “iFFT” above). In some embodiments, they may be given a cyclicprefix, and undergo a pulse shaping procedure. An OFDM receiver can beconfigured to perform the above operations in a reverse order, except anFFT replaces the iFFT.

Compared to the above described OFDM system 400′, operations carried outby a gUBDM system 400 described herein (e.g., gUBDM system 100) areillustrated in FIG. 4B. The gUBDM 400 can include an extra operator(e.g., a linear operator) A between the S/P block 414 and the iFFTblock, as shown in FIG. 4B. In use, according to the example embodimentassociated with FIG. 4B, the gUBDM 400 operates such that symbols b_(n)are received by the signal transmitter and are first put through aserial-to-parallel block (e.g., converter similar to converter 214 ofthe signal transmitter 201) to generate a converted set of vectors. Theconverted set of vectors then undergo the linear transformation A togenerate a set of transformed vectors. For example, the transformationcan be carried out by an arbitrary transformation applier 415 similar toarbitrary transformation applier 216 and the linear transformation Abeing selected by arbitrary transformation selector similar to thearbitrary transformation selector 215. In some embodiments, thetransformed vectors are then put through an iFFT block to generate asecond transformed vectors and the resulting second transformed vectorscan be transmitted to one or more receivers in the gUBDM system. In someother embodiments, the iFFT block can be skipped and the transformedvectors generated by the arbitrary transformation applier can betransmitted to one or more receivers in the gUBDM system. Expressed inanother way,

b→Ab→s=FAb.

(where

is the discrete Fourier matrix). In some embodiments, A can be unitaryby design, as described herein, and F is known to be unitary. Byproperty of unitary matrices as a group, the product FA will also beunitary. Therefore, because A can be any unitary, including the iFFTmatrix is unnecessary, and according to some embodiments a gUBDM systemcan be configured by replacing the iFFT block with an arbitrary unitaryA, as illustrated in FIG. 4C showing the operations in a gUBDM system500, including an arbitrary transform applier 515, according to anembodiment.

Following the above description a signal transmitter and a signalreceiver operable with an OFDM system (e.g., OFDM system 400 of FIG. 4A)can be easily adapted to be used with a gUBDM system described herein(e.g., gUBDM systems 400 and 500 in FIGS. 4B and 4C) with the onlychanges being a replacement of an iFFT operation with an arbitrarytransformation operation using A at the transmitter and the FFT with A′at the signal receiver to reverse the transformation. Other details ofan OFDM system can remain.

The above described gUBDM system, in use, can be used to transmit signalin a highly secure and efficient manner as described in detail below.Given a signal transmission system, where one or more signals aretransmitted from a source associated with a user Alice to a destinationassociated with a user Bob, such a system may be vulnerable toeavesdropping by a third party user Eve who may have access to thetransmitted signal or transmitted vectors. Given that a gUBDM system isbeing used for the signal transmission, where an arbitrarytransformation A is used to generate the transformed signal ortransformed vectors that are being transmitted, if Eve doesn't know thematrix A and is only able to base her attack on knowing cipher, theamount of work she has to do to recover the data can be prohibitivelylarge. In some other embodiments, the arbitrary transformation can benon-linear in nature, making it even more complicated and infeasible forEve to find the non-linear transformation to recover signals even if shehas access to plaintext/ciphertext pairs.

FIG. 5 illustrates a flowchart describing an example method 500 ofpreparing a signal and transmitting a signal in a secure and efficientmanner using a gUBDM system, according to an embodiment. At 571,according to the method 500, a signal transmitter of a gUBDM system(e.g., the signal transmitter 201 described above) receives dataincluding a plurality of input bits. The plurality of input bits canrepresent an original signal that is to be transmitted in a secure andefficient manner. The data can further include other attributesassociated with the signal represented by the input bits. For examplethe data can include information related to the nature of the signal,the nature of the input bits, the size, sensitivity of the informationcontained, security requirement, etc.

At 572, the signal transmitter generates a plurality of symbols based onthe plurality of input bits. In some instances, the signal transmittercan generate a plurality of symbols with a symbol being described as apulse in a digital complex baseband signal. In some implementations, asymbol can be a waveform, or a state that, when transmitted through acommunication channel defined in a communications network, canchange/alter and/or maintain a state or a significant condition of thecommunication channel such that the state or condition persists, for afixed period of time. In some instances, a signal transmitter can breakup a plurality of input bits associated with a serial signal into aplurality of symbols that can be modified and/or transmitted in parallelusing a Multiple Input and Multiple Output system of transmission asdescribed further below. In some instances, a signal transmitter can usea converter (e.g., converter 214) to convert a serial plurality of inputbits into a parallel plurality of symbols. In some implementations, thegenerating a plurality of symbols based on a plurality of input bits canbe via using a bit-to-symbol map.

At 573, the signal transmitter generates pluralities of blocks based onthe plurality of symbols, each plurality of blocks from the pluralitiesof blocks representing a vector from a plurality of vectors. In someinstances, a signal transmitter can receive a serial plurality ofsymbols associated with a serial signal and break it up into pluralitiesof blocks each plurality of block representing a vector from a pluralityof vectors, the vectors being configured to be transformed and/ortransmitted in parallel using a Multiple Input and Multiple Outputsystem of transmission as described herein. In some instances, a signaltransmitter can use a converter (e.g., converter 214) to convert theserial plurality of symbols into the pluralities of blocks.

At 574, the signal transmitter select, based at least partially on theplurality of vectors, an arbitrary transformation configured to beapplied to the vectors to generate a plurality of transformed vectors.For example, the signal transmitter can have access to a library ofarbitrary Transformations including unitary transformations, equiangulartight frame (ETF) transformations, and a nearly equiangular tight frame(NETF) transformations. The signal transmitter can use an arbitrarytransformation selector (e.g., arbitrary transformation selector 215) toselect arbitrary transformation, for example a unitary transformation,to be applied on the plurality of vectors to generate a plurality oftransformed vectors. In some instances, the arbitrary transformation canselect an equiangular tight frame (ETF) transformation, or in some otherinstances the arbitrary transformation selector can select a nearlyequiangular tight frame (NETF) transformation. In some implementations,the arbitrary transformation selector can be configured such that thearbitrary transformation selected is based on a matrix that is not anidentity matrix or a discrete Fourier matrix. In some implementations,the arbitrary transformation selector can be configured such that thearbitrary transformation selected is based on a matrix that is not adirect sum of discrete Fourier matrices.

At 575, the signal transmitter applies the arbitrary transformation toeach vector of the plurality of vectors to produce the plurality oftransformed vectors. In some instances, the applying the arbitrarytransformation can be such that the plurality of transformed vectors hasa total magnitude that substantially equals a total magnitude of theplurality of vectors.

At 576, the signal transmitter sends a signal representing the pluralityof transformed vectors to a plurality of transmitter antennas fortransmission of a signal representing the plurality of transformedvectors from the plurality of transmitter antennas to a plurality ofsignal receivers. In some instances, the plurality of transformedvectors can be configured to be sent in parallel via multipletransmitter antennas associated with the signal transmitter antennadevice (e.g., transmitter antennas 217 and 218 associated with thesignal transmitter 201) and through multiple communication channelsusing a Multiple Input and Multiple Output system of transmission suchthat the transformed vectors sent in parallel can be received by aplurality of receivers associated with one or more signal receiversassociated with the gUBDM system being used. For example, the pluralityof signal receivers can include a plurality of antenna arrays, and theplurality of signal receivers be associated with signal receivers suchas the signal receiver 301 and the plurality of signal transmitterantennas can be associated with signal transmitters such as the signaltransmitter 201, where in the signal transmitter and the signal receiverare configured to perform Multiple Input Multiple Output (MIMO)operations.

In some implementations, the signal can include a set of transformedsymbols associated with the plurality of transformed vectors and asignal transmitter (e.g., signal transmitter 201) can place a set oftransformed symbols on the communication channel (s) (e.g., via atransmitter 217) at a fixed and known symbol rate. A signal receiver canperform the task of detecting the sequence of transformed symbols toreconstruct the transformed vectors. In some instances, there may be adirect correspondence between a transformed symbol and a small unit ofdata. For example, each transformed symbol may encode one or severalbinary digits or ‘bits’. The data may also be represented by thetransitions between transformed symbols, or even by a sequence of manytransformed symbols.

In some implementations, the signal transmitter can be configured tosend the signal representing the plurality of transformed vectors to theplurality of transmitters via a physical layer associated with an opensystem interconnection model (OSI). The OSI model is a conceptual modelthat characterizes and standardizes the communication functions of atelecommunication or computing system without regard to its underlyinginternal structure and technology with the goal of achievinginteroperability of diverse communication systems using standardcommunication protocols. The OSI model uses partitioning of informationexchanged via communication channels of a communication network intoabstraction layers (e.g., seven layers) with each layer includinginformation of a specific type.

For example, a layer 1 can include a physical layer used for thetransmission and reception of unstructured raw data between a signaltransmitter and a physical transmission medium (e.g., a wirelesscommunication channel in a communication network such as network 106).It is configured to convert digital bits included in the signalstransmitted into electrical, radio, or optical signals. Layerspecifications define characteristics such as voltage levels, the timingof voltage changes, physical data rates, maximum transmission distances,modulation scheme, channel access method and physical connectors. Thisincludes the layout of pins, voltages, line impedance, cablespecifications, signal timing and frequency for wireless devices. Bitrate control is done at the physical layer and may define transmissionmode as simplex, half duplex, and full duplex. The components of aphysical layer can be described in terms of a network topology. Thecommunications channel used to transmit the signal can havespecifications for a physical layer.

At 577, the signal transmitter provides the arbitrary transformation tothe plurality of signal receivers, the providing being in associationwith the sending of the plurality of transformed vectors, the providingfurther being configured for a recovery of the plurality of vectors atthe plurality of signal receivers. In some implementations, theplurality of signal receivers is further configured to transmit a signalrepresenting the plurality of transformed vectors to a target device.For example the plurality of signal receivers can be associated with oneor more signal receivers that can be configured to transmit a signalrepresenting the plurality of transformed vectors to a target device.

In some instances, the signal transmitter can send a signal that, inaddition to representing the plurality of transformed vectors, can alsobe representing one of: (1) the arbitrary transformation, or (2) aninverse of the arbitrary transformation to the plurality of signalreceivers. In some instances, the signal transmitter can send a firstsignal representing the plurality of transformed vectors and send asecond signal representing the arbitrary transformation or an inverse ofthe arbitrary transformation. In some implementations the signaltransmitter can send the second signal at a time point prior to thesending of the first signal. That is, said in another way, the signaltransmitter can send the signal representing the arbitrarytransformation or an inverse of the arbitrary Transformation prior totransmission of the signal representing the plurality of transformedvectors to the plurality of signal receivers, such that the plurality ofsignal receivers recovers the plurality of vectors from the plurality oftransformed vectors based on the arbitrary transformation or an inverseof the arbitrary transformation.

FIG. 6 illustrates an example method 600 of transmitting a signal in asecure and efficient manner, using a gUBDM system according to anembodiment. The method 600 can be implemented by a processor for examplea processor associated with a signal transmitter of a gUBDM system(e.g., the signal transmitter 201 described above). At 671, an arbitrarytransformation is applied to a plurality of vectors to produce aplurality of transformed vectors. The arbitrary transformation caninclude a unitary transformation, an equiangular tight frame (ETF)transformation, or a nearly equiangular tight frame (NETF)transformation. In some implementations, more than one arbitrarytransformations can be applied. For example in some instances, thesignal transmitter implementing the method 600 can be configured suchthat a first arbitrary transformation is applied to the plurality ofvectors to produce a first plurality of transformed vectors and a secondarbitrary transformation is applied to the plurality of vectors toproduce a second plurality of transformed vectors.

At 672, the method includes producing, using the arbitrarytransformation, a first transformed signal based on at least a firsttransformed vector from the plurality of transformed vectors. In someinstances the first transformed signal can include a first complexbaseband signal. At 673, the method includes producing, using thearbitrary transformation, a second transformed signal based on at leasta second transformed vector from the plurality of transformed vectors.In some instances, the second transformed signal can include a secondcomplex baseband signal.

As described above, in some implementations the second transformedsignal can be based on a second transformed vector the second pluralityof transformed vectors generated using the second arbitrarytransformation.

At 674, the method 600 includes transmitting the first transformedsignal, via a communications channel, to a first signal receiver that isconfigured to detect the first transformed signal. At 675, the methodincludes transmitting the second transformed signal, via thecommunications channel, to a second signal receiver that is configuredto detect the second complex baseband signal. In some instances, thetransmitting the second transformed signal is via a secondcommunications channel different from the first communications channel.

At 676, the method includes providing a signal representing thearbitrary transformation to the first signal receiver and the secondsignal receiver in association with the transmitting the firsttransformed signal and the transmitting the second transformed signal,for recovery of the plurality of vectors at the first signal receiverand the second signal receiver based on the arbitrary transformation. Insome instances, the providing the signal representing the arbitrarytransformation is done prior to transmitting the first transformedsignal and the transmitting the second transformed signal. In some otherinstances, the providing the signal representing the arbitrarytransformation can be done after the transmitting the first transformedsignal and the transmitting the second transformed signal, in which casethe signal receivers can store the transformed signal(s) received andrecover the original signals at a later point in time after receivingthe signal representing the arbitrary transformation. In some instances,the signal receivers can be configured to transmit a transformed signalto a target device. For example, the signal receivers can be configuredto transmit a signal representing the plurality of transformed vectorsto a designated target device.

As described above, in some instances where a first arbitrarytransformation is used to produce the first plurality of transformedvectors and a second arbitrary transformation is used to the secondplurality of transformed vectors, the providing a signal representingthe arbitrary transformation can include providing a first signalrepresenting the first arbitrary transformation and providing a secondsignal representing the second arbitrary transformation. In someimplementations, the transmitting the first transformed signal and theproviding the first signal representing the first arbitrarytransformation can be to a first receiver associated with a firstreceiver, and the transmitting the second transformed signal producedusing the second arbitrary transformation and the providing the secondsignal representing the second arbitrary transformation can be to asecond receiver antenna associated with a second receiver different fromthe first receiver. In some instances, the first and second signalsrepresenting the first and second arbitrary transformations can bebroadcast together to a wide audience including the first and secondsignal receivers. In some instances the first signal representing thearbitrary transformation can be broadcast widely but not the secondsignal representing the arbitrary transformation, such that the firstsignal receiver is able to recover the first plurality of vectors butthe second receiver is unable to recover the second plurality oftransformed vectors until the second signal representing the secondarbitrary transformation is provided or broadcast.

While described as a variation of an OFDM system, some embodiments of agUBDM system operate as a variation of a DSSS system wherein a “codemap” is used and is bandwidth limited. The explicit form, as given inthe '839 patent referred to above, is

c :

^(N)→

^(M)

v → c ( v ),  (33)

where the m^(th) component of c(v)∈

^(M) is given by

$\begin{matrix}{\lbrack {\overset{\_}{c}( \overset{\_}{v} )} \rbrack_{m} = {\sum\limits_{n = 1}^{N}{v_{n}{e^{{- 2}\pi \; i\; {\kappa_{n}{({\frac{m}{M} - \frac{1}{2}})}}}.}}}} & (34)\end{matrix}$

Here, v_(n) is the n^(th) component of v, the κs are a set of N distinctnumbers satisfying

κ_(n)−κ_(m) ∈

∀m,n,  (35)

and M is an integer chosen so that M>2 max_(n)|κ_(n)|. This map has theproperties discussed above (band-limited and dot-product preserving).Typically, M≈N if the κ are sequential integers centered around 0.

So, to create a maximal set of mutually orthogonal spreading codes, aunitary matrix A∈U(N) is chosen. If the n^(th) column is denoted (orrow, doesn't matter which as long as there is consistency) of A asĀ_(n), then the N codes are c(Ā_(n)) for n∈[1, . . . , N].

If one device is to transmit data on all N codes, then it will be ableto take the N symbols b_(n), multiply each one by every component of itsspreading code, and then add the resulting vectors together. So thetransmitted vector s is

$\begin{matrix}{{\overset{\_}{s} = {\sum\limits_{n = 1}^{N}{b_{n}{\overset{\_}{c}( {\overset{\_}{A}}_{n} )}}}},} & (36)\end{matrix}$

where b_(n) are the symbols.

But to do this, the transmitter multiplies a symbol b_n∈C which istypically a complex number (a float, double, etc), times all M≈Ncomponents of c(Ā_n). This is repeated for all N symbols b_n. So, thereare N symbols, each being multiplied by N components of the code. Thismakes the complexity O

(N

{circumflex over ( )}2), which is prohibitive for wide-bandapplications. (Compare to OFDM, which is O(N log N).)

Notably for multiple access applications, where each user is given asubset of the codes, they only have to do O(N) work, which is betterthan OFDM. That makes the DSSS implementation very good for multipleaccess applications.

To obtain a UBDM that is O(N log N), to match OFDM reinterpret (0.0.4).The transmitted baud is

$\begin{matrix}{\begin{matrix}{\lbrack \overset{\_}{s} \rbrack_{m} = {\sum\limits_{n = 1}^{N}{b_{n}\lbrack {\overset{\_}{c}( {\overset{\_}{A}}_{n} )} \rbrack}_{m}}} \\{= {\sum\limits_{n = 1}^{N}{b_{n}{\sum\limits_{k = 1}^{N}{A_{nk}e^{{- 2}\pi \; i\; {\kappa_{k}{({\frac{m}{M} - \frac{1}{2}})}}}}}}}} \\{= {\sum\limits_{k = 1}^{N}{( {\sum\limits_{n = 1}^{N}{b_{n}A_{nk}}} )e^{{- 2}\pi \; i\; {\kappa_{k}{({\frac{m}{M} - \frac{1}{2}})}}}}}} \\{= {\sum\limits_{k = 1}^{N}{{\overset{\sim}{b}}_{k}e^{{- 2}\pi \; i\; {\kappa_{k}{({\frac{m}{M} - \frac{1}{2}})}}}}}}\end{matrix}.} & (37)\end{matrix}$

This can be interpreted (up to normalization) as a discrete Fouriertransform of the symbols

$\begin{matrix}{{\overset{\_}{b}}_{k} = {\sum\limits_{n = 1}^{N}{b_{n}{A_{nk}.}}}} & (38)\end{matrix}$

FIG. 7 is a flowchart describing an example method for a reception of aplurality of transformed vectors and recovery of a plurality of vectors,using a gUBDM system according to an embodiment. The method 700 can beimplemented by a processor associated with a signal receiver (e.g.,signal receiver 301) described herein.

At 771, the method 700 includes receiving from a plurality of signaltransmitters and via a plurality of signal receivers, a signalrepresenting a plurality of transformed vectors.

At 772, the method includes receiving an indication of an arbitrarytransformation configured to be used to recover a plurality of vectorsbased on the plurality of transformed vectors. In some implementations,the receiving the indication of the arbitrary transformation can be fromthe plurality of signal transmitters and via the plurality of signalreceivers. In some instances the receiving the indication of thearbitrary transformation can be prior to the receiving the signalrepresenting a plurality of transformed vectors. In some instances theindication can include an inverse of the arbitrary transformation.

At 773, the method includes applying the arbitrary transformation toeach transformed vector of the plurality of transformed vectors toproduce a plurality of vectors. At 774, the method includes recovering,based on the plurality of vectors, an original signal. In some instancesfor example the recovering the original signal can be performed by aconverter (e.g., converter 314) associated with a signal receiver. Insome instances the method 700 can skip the recovering the originalsignal at 773 and instead store or send the plurality of vectors toanother device to perform the recovering of the original signal.

Another advantage of the above described gUBDM system is that it isdesigned to take full advantage of the richness and structure of theunitary groups. One opportunity the gUBDM system described affords isthe ability to incorporate ETF/NETFs into an adopted and modified OFDMsystem variation—this is something that is impossible in an OFDM systemotherwise unmodified.

The gUBDM system also affords a signal transmission source the abilityto include code division multiplexing into an OFDM system uponmodification into a gUBDM system. This means that in addition to timedivision, frequency division, and spatial multiplexing, code divisionmultiplexing can be performed. This adds an enormous degree of freedomfor system engineers.

It should be noted that an iFFT will still be likely performed afterapplying a general unitary A, in some implementations, which can makeequalization easier. So, take a data vector b and send it through thesteps b->Ab->FAb, where F is a Fourier transformation. However, becauseof the group structure of U(N), it is known that if F and A are bothelements of U(N) are used, then their product will be as well. Becausewe are using the entire group U(N), there is no difference betweenclaiming a single matrix A and claiming a single matrix A followed by aFourier matrix. No matter how many unitary matrices we multipliedtogether, the result is still just another element of U(N).

In other words, a key advantage of this approach is the security. If theact of modulating the data is able, by itself, to fully secure thecontent to an eavesdropper on that channel, denying her access to thebits (or anything above OSI layer 1), then the attack surface for theeavesdropper has changed radically. All possibilities of trafficanalysis attacks, protocol weakness attacks, control data leakageattacks, etc. are completely eliminated. Furthermore, in networks wherethe security provided by traditional encryption causes delay/latencythat adversely impacts the network, the encryption (usually at OSI layer3 or higher) can be optionally completely removed. This eliminates thespace, power, heat, or time to include the encryption, as well as theoverhead usually associated with encryption. Furthermore, thedelays/latency associated with encryption (everything from simply havingto pass the information up and down the OSI stack to the latencyassociated with simply having to run those bits through the cryptologic)can be eliminated. All the system needs to do is transmit. Themodulation itself takes care of the security.

The signal receiver is open to any computation upon receiving thetransformed signal. In some implementations, the signal receiver cansimply demodulate the signal and recover the symbols and bits. In someimplementations, the signal receiver may also want to store thedigitized I and Q, or pass the digitized I and Q on to some other systemwithout applying the inverse of the unitary matrix.

UBDM with Physical Layer Security (PLS)

“Physical Layer Security” (PLS) refers to the leveraging of physicalproperties of a communications channel between users of a communicationssystem for the purposes of exchanging secret information. Although someof the foregoing gUBDM embodiments describe the application of securityat the physical layer, they do not, in a strict sense, incorporate PLS,which involves the exploitation of a physical property of the sharedchannel between two users. For example, in PLS, users generate a secretkey for a symmetric cryptologic/security scheme (e.g., AdvancedEncryption Standard (AES)), based on the physical properties of acommunications channel, for the secret information. Unless aneavesdropper has a receiver that is sufficiently close to one of theusers to directly measure (or to gather sufficient information toapproximate) the physical properties of the communications channel, theeavesdropper will be unable to access the shared secret. According toembodiments set forth below, PLS can be implemented in combination withgUBDM (or non-generalized UBDM), OFDM, or any other communicationsystem, to enhance security of the communications.

In some embodiments, a communication method combines UBDM or OFDM withPLS. The PLS can include, for example, a modified version of a PLS keyexchange algorithm referred to as a MIMO-OFDM Precoding with Rotation(MOPRO) algorithm. Additional details regarding a predecessor version ofMOPRO can be found in “Practical Physical Layer Security Schemes forMIMO-OFDM Systems Using Precoding Matrix Indices” by Wu, Lan, Yeh, Lee,and Cheng, published in IEEE Journal on Selected Areas in Communications(Vol 31 Issue 9, September 2013), the entire contents of which areherein incorporated by reference in their entirety for all purposes.

In some embodiments, the MOPRO algorithm relies on having a MIMO system.When a non-MOPRO MIMO-OFDM system initiates a communication link, thesystem can first measure the MIMO channel, which may be represented by alarge matrix of complex values. A first user sends, via a firstprocessor, a representation of a synchronization baud (i.e., a uniqueword within a data packet) from each transmitting antenna to a seconduser, who in turn uses the synchronization baud to measure the channel.To illustrate, consider the following example: consider a system inwhich there are 2 transmitting antennas and 2 receiving antennas. Thefirst transmitting antenna transmits a signal representing the value T1and the second transmitting antenna transmits a signal representing thevalue T2. The first receiving antenna will receive a signal representingthe value R1, which is a linear combination of the two values (T1 andT2) transmitted by the transmitting antennas. In other words,R1=h₁₁*T1+h₂₁*T2. The values h₁₁ and h₁₂ are random complex values thatdepend on the physical properties of the channel. For example, thevalues h₁₁ and h₁₂ can depend on how far away a surface a giventransmitted signal bounced off of was, the material it was made of, theresultant phase shift(s), the center frequency of the subcarrier,humidity, temperature, etc. Similarly, the second receiving antenna willreceive a signal representing the value R2, which is also a linearcombination of the two values transmitted by the two transmittingantennas, but in general is a different linear combination. In otherwords, R2=h₂₁*T1+h₂₂*T2. So, the four values—h₁₁, h₁₂, h₂₁, h₂₂—are thenumbers that physically characterize the channel. There are four suchvalues because there are 2 transmitters and 2 receivers (2×2=4).

To facilitate synchronization, the two transmitting antennas can, forexample, transmit their signals one at a time, e.g., in an alternatingmanner. In other words, the first transmitter transmits T1 first, andsubsequently transmitter 2 transmits T2. The first signal received bythe first receiving antenna is R1=h₁₁*T1, from which h₁₁ can bedetermined. The first signal received by the second receiving antenna isR2=h₂₁*T1, from which h₂₁ can be determined. During a next time period,the first receiving antenna receives a second signal, R1=h₁₂*T2, and thesecond receiving antenna receives a second signal, R2=h₂₂*T2, from whichh₁₂ and h₂₂, respectively, can be determined. As such, the receiver hasobtained/determined all four components of the channel. From that pointon, both the first and second transmitter can transmit simultaneouslyand the receiver can invert the linear transform to recover T1 and T2from (h₁₁*T1+h₁₂*T2) and (h₂₁*T1+h₂₂*T2).

In some embodiments, when there are more than 2 antennas, the matrix ofchannel values is a matrix with the same dimension as the number ofantennas on both sides. For example, if there are 5 transmittingantennas and 7 receiving antennas, then the first receiving antennareceives R1=h11*T1+h12*T2+h13*T3+h14*T4+h15*T5, the second receivingantenna receives R2=h21*T1+h22*T2+h23*T3+h24*T4+h25*T5, and so on, downto R7=h71*T1+h72*T2+h73*T3+h74*T4+h75*T5. The resulting channel matrixis a 7×5 matrix. More generally, if there are t transmitting antennasand r receiving antennas, the channel matrix is r×t.

Next, rather than sending a signal representing the entire channel backto the first user, the second user transmits a small number of bits thatcorrespond to a potential channel matrix from a “codebook” of possiblechannels that, optionally, is publicly-accessible. In other words, thefirst and second users have access to a previously agreed-upon set ofpossible channel matrices. When the second user measures the channel,the second user selects the matrix in the codebook that is closest to(i.e., that best approximates) the measured channel, and transmits, viaa second processor, a string of bits that labels that matrix back to thefirst user. Using the foregoing approach, the first and second user cancontinuously measure the channel and transmit only a small subset ofbits to communicate that measured channel.

In known MOPRO systems, the previously agreed-upon codebook of possiblechannel matrices (which is public and therefore known by theeavesdropper) is used as follows: the first user applies a deliberate“rotation” to the channel vector, so that when the second user respondswith the bits corresponding to the matrix it selects from the codebook,and the eavesdropper—not knowing that rotation—cannot extract theinformation. Known MOPRO systems, however, remain susceptible toeavesdroppers since if an eavesdropper has a receiver that issufficiently close in physical proximity to one of the first and secondusers, that eavesdropper can recover half of the secret bits, and if theeavesdropper has a receiver that is sufficiently close in physicalproximity to both the first and second users, that eavesdropper canrecover all of the bits. Embodiments set forth herein represent animprovement to known MOPRO systems, implemented for example via amodification to the MOPRO algorithm in which rotation to the channelvector applied by the first user is echoed, by the second user, back tothe first user, thereby protecting all bits from eavesdropping.

Combining UBDM with Physical Layer Security

MIMO Review

Consider an OFDM system with a single subcarrier. The transmitter has tantennas and the receiver has r antennas. Assume that all t of thetransmitting antennas simultaneously transmit a unique symbol (at thesame frequency), so that transmitter n transmits the symbol b_(n). Thesecan be arranged into a vector b=(b₁, b₂, . . . , b_(t))^(t) (note that bis also referred to herein as a sequence). The r receiving antennas willeach receive each of these symbols in some linear combination. In otherwords, the receivers r₁, . . . , r_(r) will receive

$\begin{matrix}{{{r_{1} = {{h_{11}b_{1}} + {h_{12}b_{2}} + \ldots + {h_{1t}b_{t}}}},{r_{2} = {{h_{21}b_{1}} + {h_{22}b_{2}} + \ldots + {h_{2t}b_{t}}}},\vdots}{r_{r} = {{h_{R\; 1}b_{1}} + {h_{R\; 2}b_{2}} + \ldots + {h_{Rt}{b_{t}.}}}}} & ( {0.0{.1}} )\end{matrix}$

The foregoing can be arranged this into the following matrix equation

$\begin{matrix}{{r = {H\; \overset{\_}{b}}},} & ( {0.0{.2}} ) \\{where} & \; \\{H = \begin{pmatrix}h_{11} & h_{12} & \ldots & h_{1t} \\h_{21} & h_{22} & \ldots & h_{2t} \\\vdots & \vdots & \ddots & \vdots \\h_{r\; 1} & h_{r\; 2} & \ldots & h_{rt}\end{pmatrix}} & ( {0.0{.3}} )\end{matrix}$

The matrix H can be referred to as the “channel matrix,” or the “channelrepresentation.” If the sequence b (or “training sequence”) is known tothe receiver, the receiver can use the sequence b to recover theentirety of channel matrix H. For example, if the transmission of thetraining sequence is not actually simultaneous, but rather the receivertransmits b₁ from a first transmitting antenna first, then the receivercan determine the first column of H (by virtue of the fact that it knowsthe value b₁). The receiver then receives b₂ from the secondtransmitting antenna, and the receiver in turn determines the secondcolumn of H. A similar procedure can occur for each b_(n) of thesequence b.

Next, consider taking a singular value decomposition of H, as follows:H=UDV*. If H is an r×t matrix, then U is an r×r unitary matrix, V is at×t unitary matrix, V* is a conjugate transpose of V, and D is adiagonal matrix containing the singular values. With high probability, Hwill have rank min(t, r), and therefore D will be a matrix where thefirst min(t, r) values are positive real values. More generally, therank of H determines the capacity of the channel. The rank is equal tothe number of independent channels that can be transmittedsimultaneously between the transmitter and receiver.

MIMO Precoding

Suppose that “Alice” and “Bob” are both using a MIMO system, where“Alice” refers to the transmitter with t antennas, and “Bob” refers tothe receiver with r antennas. Ideally, if Alice and Bob both haveperfect knowledge of the channel matrix H, they can both perform asingular value decomposition (SVD) and obtain H=UDV^(†). Under such acircumstance, when Alice begins transmitting data to Bob, Alice couldfirst pre-multiply her transmission b=(b₁, . . . , b_(t)) by the matrixV. In other words, instead of transmitting b, Alice transmits Vb. Afterbeing transmitted through the channel, the signal s is received by Bobin the following form:

$\begin{matrix}{ \overset{\_}{b}arrow{{V\; b}\overset{channel}{arrow}{{HV}\; \overset{\_}{b}}}  = {{U\mspace{11mu} {DV}^{\dagger}V\; \overset{\_}{b}} = {{U\; D\; \overset{\_}{b}} = {\overset{\_}{s}.}}}} & ( {0.0{.4}} )\end{matrix}$

Bob can then perform a “post-multiplication” (multiply U^(†)Db by U^(†),where U^(†)is a conjugate transpose of U), to obtain:

U ^(†) s=U ^(†) UDb=Db,  (0.0.5)

The scalar singular values can then be divided out.

In practice, the foregoing procedure is not always a practical approach,for example because Alice transmits the training sequence to Bob, whocomputes the channel SVD and sends the entire matrix of right singularvectors V back to Alice, and then Alice does the pre-multiplication.Sending the entire matrix U back to Alice each time an update to thechannel is needed or desired can be prohibitively computationallyexpensive and bandwidth-consuming. As such, a minimum feedback approachcan alternatively be used, as set forth below.

As noted above, prior to transmission, Alice and Bob can agree on acodebook of unitary matrices, denoted F_(i). Assuming that c bits areused to index these matrices, there are 2^(c) matrices, and the index iruns from [0, 2^(c)−1]. Bob may wish to request that Alice pre-multiplyher transmissions by the true/exact right singular vectors V. Becausethe request to Alice may be impractical, however, Bob can instead selectthe unitary matrix from the codebook that is closest to (i.e., that bestapproximates) V. As used herein, the “closest” unitary matrix can referto the unitary matrix that maximizes the capacity of the MIMO channel,where the capacity C of the MIMO channel can be defined by the followingequation, in which

is the identity matrix, S/N is the signal-to-noise ratio, H is thechannel representation (or matrix), and a H^(†)is a conjugate transposeof H:

$\begin{matrix}{C = {{\log_{2}( {\det ( { + {\frac{S}{N}{HH}^{\dagger}}} )} )}.}} & ( {0.0{.6}} )\end{matrix}$

Premultiplication by Fi results in a modification of the channelrepresentation from H to HF_(i). As such, Bob selects the “optimal”matrix F_(i) that maximizes the capacity:

$\begin{matrix}{F_{optimal} = {\max\limits_{i}\mspace{11mu} {\log_{2}( {\det ( { + {\frac{S}{N}( {H\; F_{i}} )( {H\; F_{i}} )^{\dagger}}} )} )}}} & ( {0.0{.7}} )\end{matrix}$

Rather than sending the entire matrix F_(i) back to Alice, Bob caninstead send only the index i back to Bob, which is a c-bit value.Because Alice has access to the codebook (e.g., because it is public),she pre-multiplies her data for transmission by the matrix F_(i) andtransmits the resulting product. Bob, in turn, can receive the messagewith the right singular vectors effectively removed, and canpost-multiply the received message by U^(†)to remove the left singularvectors, then scale out the singular values. This approach tosimplifying the channel can be referred to as “pre-coding” of the MIMOtransmission, since Alice is “coding” her data prior to transmission,with a “code” (a matrix F_(i)) from a codebook (or “look-up table”) ofmatrices with known indexing.

MIMO-OFDM Precoding (MOP)

Physical layer security can be applied to the precoding techniquedescribed above to facilitate the secure exchange of information betweenAlice and Bob without an eavesdropper (“Eve”) being able to access thedata being transmitted. As discussed above, physical layer securityrefers to the use of physical details of the communication channel toensure secure communications. In some implementations, the channelmatrix between Alice and Bob, denoted H_(AB), and the channel matrixbetween Bob and Alice (assumed to be in the same bandwidth), H_(BA),obey “channel reciprocity,” which means that H_(AB)=(H_(BA))^(T) (wherethe “T” superscript refers to the matrix transpose). On the other hand,if Eve's receiver is not in close physical proximity to Alice or Bob,then the channel between Eve and Alice, H_(AE)=(H^(EA))^(T) and thechannel between her and Bob, H_(BE)=(H_(EB))^(T), are significantlydifferent from H_(AB)=(H_(BA))^(T). This means that, by virtue of thephysical channel between them, Alice and Bob have a shared secret theycan exploit to communicate without Eve reading their messages.

The approach used by MOP is as follows: prior to transmitting, Alice andBob agree on a c-bit codebook of unitary matrices, as described above.Assuming that the codebook is public, Eve is presumed to know itscontents. At transmission time, Alice transmits a known signal/sequence(known to everyone, including Bob and Eve), b, to Bob. Bob receives bthrough the channel, and thus receives a transformed signal H_(AB) b.Meanwhile, Eve receives H_(AE) b. While this gives Eve full channelinformation between her and Alice, it does not tell her anything aboutH_(AB) and therefore she does not know which matrices F_(i) and F_(j)Alice and Bob will compute.

Bob then uses the codebook to identify an optimal pre-coding matrixF_(i) and an optimal post-coding matrix F_(j). The bits corresponding tothe index i and the index j are then stored by Bob as the bits of a keythat he and Alice will share. Bob then transmits a known sequence (knownto everyone, including Eve), which may or may not be the same sequencethat Alice sent him, back to Alice. Alice receives the sequence sent byBob via the channel H_(BA)=(H_(AB))^(T), and uses this to also computethe optimal matrices F_(i) and F_(j) Assuming channel reciprocity, Aliceand Bob will agree on the indices of the optimal pre-coding andpost-coding matrices, and will therefore have established a sharedsecret. The foregoing procedure can be followed for every subcarrier orgroup of subcarriers, depending on system design.

Two potential security vulnerabilities associated with the foregoingprocedure are that Eve may be able to either guess the channel H_(AB)through physical considerations, or she might be able to move herreceiver sufficiently physically close to either Alice or Bob so thatfor example, H_(AB)≈H_(AE). If Eve obtains even a modest approximationof the channel between Alice and Bob, the security of the system can bedrastically reduced.

MOPRO

MOPRO is a modified, rotated version of MOP that addresses the securityvulnerabilities noted above. In MOPRO, as in MOP, Alice and Bob agree ona c-bit codebook in advance, and this codebook can be public and knownby Eve. At transmission time, Alice selects a random unitary matrix G.This matrix is known by Alice, but is unknown to Bob and Eve. Alicemultiplies the publicly known sequence b by G, and transmits the result(Gb) to Bob. Bob, in turn, receives H_(AB)Gb. As such, when Bob readsoff the channel, he will see the effective channel representationH_(AB)G, instead of H. When Bob computes the SVD of the effectivechannel, because G was chosen to be unitary, it only affects the rightsingular vectors of the channel. In other words, if H_(AB)=UDV^(†), thenH_(AB)G=UD(V^(†)G). Bob will determine the left singular vectors to begiven by U, the right singular vectors to be given by V^(†)G, and thesingular values to be given by D. At this stage, Eve has receivedH_(AE)Gb. Eve knows b, but does not know G or H_(AE). If the truechannel between Alice and Eve is H_(AE)=Ũ{tilde over (D)}{tilde over(V)}^(†), then the best Eve can do is take the SVD and find the correctleft singular vectors Ũ and the correct singular values {tilde over(D)}, however Eve cannot determine the correct right singular vectors{tilde over (v)}, much less the properties of H_(AB).

Next, Bob selects a secret of c bits, denoted herein as index n, andselects the matrix F_(n) from the codebook. Bob then transmits someknown sequence b′ (again, this is publicly known by Alice, Bob, and Eve,and can be the same as b if appropriate), but first multiplies by F_(n)and then by U* (U* representing the complex conjugate of U, not theHermitian conjugate). In other words, Bob transmits U*F_(n) b′. WhenAlice receives Bob's transmission, it will be after the channelrepresentation H_(BA) has acted on it. As a result, Alice receivesH_(BA)U*F_(n) b′, from which she can determine the effective channelH_(BA)U*F_(n). Due to channel reciprocity, however, H_(BA)=(H_(AB))^(T),yielding:

H _(BA) U*F _(n)=(H _(AB))^(T) U*F _(n)=(UDV ^(†))^(T) U*F _(n) =V*DU^(T) U*F _(n) =V*DF _(n).  (0.0.8)

In view of equation 0.0.8, when Alice determines the SVD, she willobtain V* for the left singular vectors and F_(n) for the right singularvectors. Alice can then consult the codebook to identify the index ofF_(n), and based on this index determine the secret value generated byBob. Note that, unlike in MOP (where the shared secret bits were readfrom the channel), in MOPRO, Bob generates secret bits and embeds theminto the channel representation. At this stage, Eve has received theeffective channel representation H_(BE)U*F_(n), but does not know U,F_(n), or H_(BE), so even if she exhausts all of the F_(i) matrices, shewill be unable to confirm which F_(i) Bob transmitted.

Next, Alice takes a publicly known sequence (which may be the same asthe first sequence, b), selects her own secret message corresponding tothe index n′ in the codebook, and transmits the message VF_(n′) b toBob. Bob then receives H_(AB)VF_(n)′b, from which he obtainsH_(AB)VF_(n)′=UDV^(†)V F_(n)′=UDF_(n)′. From this result, Bob can takethe SVD, determine the right singular vectors, and look up the index ofthe resulting F_(n′), resulting in another c bits of shared secretbetween him and Alice. Once again, Eve cannot read any of thisinformation. Alice and Bob now each have the 2c shared secret bitscorresponding to the secret bits n, n′. They will perform a similarprocedure for each subcarrier, resulting in 2Nc bits. This procedure canbe repeated until they Alice and Bob have a sufficient number of bits.

Suppose that Eve's receiver is sufficiently physically close to Alice,such that H_(BE)≈H_(BA). As a result of the first transmission, whenAlice transmits Gb to Bob, Eve will receive H_(AE)Gb. Eve knows b, butshe does not know H_(AE) or G, so from H_(AE)Gb she can only obtain theleft singular vectors and the singular values of H_(AE). As a result ofthe next transmission, when Bob transmits U*F_(n) b back to Alice, Evewill receive H_(BE)U*F_(n), but because H_(BE)≈H_(BA), Eve can obtainH_(BE)U*F_(n)≈H_(BA)U*F_(n)=V*DF_(n). As such, Eve is able to recoverthe secret information contained in the index n (as well as the matrixV). When Alice then transmits VF_(n)′ b back to Bob, Eve receivesH_(AE)VF_(n)′b, from which Eve can obtain the matrix H_(AE)VF_(n)′.While Eve knows the left singular vectors and the singular values ofH_(AE) and the matrix V, she does not know the right singular vectors ofH_(AE), and therefore cannot extract the matrix F_(n), nor can sheobtain the second half of the secret key. Similarly, if Eve's receiveris sufficiently physically close to Bob, Eve can obtain the secret bitscorresponding to the index n′, but she cannot obtain the secret bitsindexed by n.

Hence, if Eve's receiver is not sufficiently physically close to Aliceor Bob, she cannot obtain any of the secret bits. If Eve's receiver issufficiently physically close to Alice or Bob, she can obtain exactlyhalf of the secret bits. If Eve's receiver is sufficiently physicallyclose to both Bob and Alice simultaneously, Eve can unfortunatelyrecover all of the secret bits.

Enhanced MOPRO

Enhanced MOPRO methods set forth herein enhance security as comparedwith known MOPRO systems by modifying the MOPRO algorithm such that, ina second transmission step (e.g., when Bob responds back to Alice, inthe example above), Bob adds the right multiplication of the matrixV^(†)G before applying the matrix to his transmitters and transmitting,thereby preventing Eve from recovering any of the transmittedinformation, regardless of how much channel information she has.

In some embodiments, the modified MOPRO method begins (as in MOPRO) withAlice and Bob agreeing, in advance, on a publicly known codebook ofunitary matrices F_(i) for the index i that ranges from [0, 2^(c)−1]where there are 2^(c) matrices. In a first transmission, Alice selects arandom secret unitary matrix G, and transmits Gb, with the publiclyknown message b. Bob, in turn, receives H_(AB)Gb=UDV^(†)Gb, from whichBob can read off the left singular vectors U, the singular values D, andthe effective right singular vectors V^(†)G.

Next, Bob identifies c bits of his secret message, locates thecorresponding c bit index (denoted herein as n), looks up the unitarymatrix F_(n) in the publicly known codebook, and constructs the matrixU*F_(n). Prior to transmitting, however, Bob right multiplies the matrixU*F_(n) by V^(†)G to obtain U*F_(n)V^(†)G. Bob then transmitsU*F_(n)V^(†)Gb′, where b′ is some publicly known sequence. Alicereceives Bob's transmission, modified by the channel H_(BA) distortion,and determines the matrix, which will be:

$\begin{matrix}{\begin{matrix}{{H_{BA}U^{*}F_{n}V^{\dagger}G} = {( H_{AB} )^{T}U^{*}F_{n}V^{\dagger}G}} \\{= {( {U\; {DV}^{\dagger}} )^{T}U^{*}F_{n}V^{\dagger}G}} \\{= {V^{*}{DU}^{T}U^{*}F_{n}V^{\dagger}G}} \\{= {V^{*}{DF}_{n}V^{\dagger}G}}\end{matrix}.} & ( {0.0{.9}} )\end{matrix}$

At this point, Alice can do an SVD and recover the left singular vectorsV*, the singular values D, and the effective right singular vectorsF_(n)V^(†)G. Moreover, because Alice knows V (the left singular vectors)and G (because she generated it in the first place), she can multiplythe right singular vectors F_(n)V^(†)G by G^(†)V to recover F_(n). Next,Alice looks up this matrix in the codebook and reads off the secret bitscorresponding to the index n. At this point, Alice doesn't need totransmit anything else to Bob. Bob can continuously send secrets in thesame manner (assuming, for example, that the channel is static orsubstantially static), until a sufficient number of bits have beenpassed between Bob and Alice.

In some embodiments, secret generation can be performed by both Aliceand Bob, in which case the first two transmissions can include: (1)Alice sending G₁ b to Bob, followed by (2) Bob sending G₂ b′ to Alice.In other words, during a first time period, Alice sends G₁ to Bob, whoreceives H_(AB)G₁=UDV^(†)G₁ and computes the SVD to get U, D, andV^(†)G₁. Then, during a second time period, Bob transmits G₂ to Alice,who receives H_(BA)G=V*DU^(T) G₂. Alice then computes the SVD to get V*,D, and U^(T) G₂. During a third time period, Alice chooses c secret bitscorresponding to index n₁, and transmits V F_(n) U^(T) G₂ to Bob. Bobreceives H_(AB)V F_(n) U^(T) G₂=UDV^(†)V F_(n) U^(T) G₂=UDF_(n1) U^(T)G₂, from which Bob computes the SVD and gets U, D, and F_(n1) U^(T) G₂.Bob then uses his knowledge of G₂ and U to determine F_(n1). Then,during a fourth time period, Bob selects his own c secret bitscorresponding to index n₂ and transmits U*F_(n) V^(†)G₁ to Alice. Alicereceives H_(BA)U*F_(n2) V^(†)G₁, from which she recovers n₂ in the samemanner as that in which Bob recovers n₁. Alice and Bob can continuealternating between sending and receiving secret bits using theforegoing procedure, and even if Eve's receiver is in close physicalproximity to Alice and/or Bob, she will be unable to recover any of thesecret information.

FIG. 8 is a schematic representation of a communication system usingUBDM or OFDM with physical layer security, according to an embodiment.As shown in FIG. 8, the PLS communication system 801 includes a firstset of communication devices 813 and a second set of communicationdevices 815, communicably coupled to one another via a communicationmedium 814 (e.g., free space, a multipath wireless environment, etc.).The first set of communication devices 813 is communicably coupled to afirst processor 811, and the second set of communication devices 815 iscommunicably coupled to a second processor 816. The first processor 811is operably coupled to a memory 812 and the second processor 816 isoperably coupled to a memory 812. Each of the first processor 811 andthe second processor 816 is operably coupled to a storage repositorystoring a codebook of unitary matrices 820, which may bepublicly-accessible. During operation of the PLS communication system801, the processor 811 produces a first encoded vector and transmits thefirst encoded vector to the second set of communication devices 815 viaa communication channel of the communication medium 814. Thecommunication channel applies a channel transformation to the firstencoded vector during transmission, thereby producing a transformedsignal. The second processor 816 receives the transformed signal,determines an effective channel representation/matrix thereof, andidentifies left and right singular vectors of the effective channel. Thesecond processor 816 selects a precoding matrix from the codebook ofunitary matrices 820 based on a message, and produces a second encodedvector based on a second known vector, the precoding matrix, a complexconjugate of the left singular vectors, and the right singular vectors.The second processor 816 then sends the second encoded vector to thefirst set of communication devices 813 for identification of themessage.

FIG. 9 is a flowchart illustrating a method of communicating using UBDMor OFDM with physical layer security, according to an embodiment. Asshown in FIG. 9, the method 900 includes receiving, at 902, via a firstcommunication device and at a first processor, a signal representing afirst encoded vector and a channel transformation. The first processordetects, at 904, a representation of an effective channel based on thereceived signal, and at 906 performs a singular value decomposition ofthe representation of the effective channel to identify left singularvectors of the representation of the effective channel and rightsingular vectors of the representation of the effective channel. At 908,the first processor selects a precoding matrix from a codebook ofunitary matrices, the precoding matrix associated with an index for amessage for transmission. The first processor produces a second encodedvector, at 910, based on a known vector, the precoding matrix, a complexconjugate of the left singular vectors, and the right singular vectorsof the representation of the effective channel, and at 912 transmits asignal representing the second encoded vector, through a communicationchannel, to a second communication device, for identification of themessage at a second processor operably coupled to the secondcommunication device.

FIG. 10 is a flowchart illustrating a method of communicating using UBDMor OFDM with physical layer security, according to an embodiment. Asshown in FIG. 10, the method 1000 includes generating, at 1002 and via afirst processor of a first communication device, a first encoded vectorusing a first known vector and a unitary matrix. A first signalrepresenting the first encoded vector is transmitted, at 1004, to asecond communication device through a communication channel that appliesa channel transformation to the first signal during transmission. Asecond signal representing a second encoded vector and the channeltransformation is received at the first processor (at 1006) from thesecond communication device, and at 1008 the first processor detects arepresentation of an effective channel based on the second signal. Thefirst processor performs a singular value decomposition of therepresentation of the effective channel, at 1010, to identify rightsingular vectors of the representation of the effective channel, andqueries a codebook of unitary matrices at 1012 to identify a messageassociated with the second signal based on the right singular vectors ofthe representation of the effective channel and the unitary matrix.

In some embodiments, a communication method using UBDM or OFDM withphysical layer security includes applying an arbitrary transformation toa plurality of vectors to produce a plurality of transformed vectors.The arbitrary transformation includes one of a unitary transformation,an equiangular tight frame (ETF) transformation, or a nearly equiangulartight frame (NETF) transformation. Using the arbitrary transformation, atransformed signal is produced based on at least one transformed vectorfrom the plurality of transformed vectors. The transformed signal istransmitted, via a communications channel, to a signal receiver that isconfigured to detect the transformed signal. A signal representing thearbitrary transformation is provided to the signal receiver, forrecovery of the plurality of vectors at the signal receiver based on thearbitrary transformation and one of a location-specific physicalcharacteristic of the communications channel or a device-specificphysical characteristic of the communications channel.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. Where methods and/or schematics described above indicatecertain events and/or flow patterns occurring in certain order, theordering of certain events and/or flow patterns may be modified. Whilethe embodiments have been particularly shown and described, it will beunderstood that various changes in form and details may be made.

Although various embodiments have been described as having particularfeatures and/or combinations of components, other embodiments arepossible having a combination of any features and/or components from anyof embodiments as discussed above.

Some embodiments described herein relate to a computer storage productwith a non-transitory computer-readable medium (also can be referred toas a non-transitory processor-readable medium) having instructions orcomputer code thereon for performing various computer-implementedoperations. The computer-readable medium (or processor-readable medium)is non-transitory in the sense that it does not include transitorypropagating signals per se (e.g., a propagating electromagnetic wavecarrying information on a transmission medium such as space or a cable).The media and computer code (also can be referred to as code) may bethose designed and constructed for the specific purpose or purposes.Examples of non-transitory computer-readable media include, but are notlimited to, magnetic storage media such as hard disks, floppy disks, andmagnetic tape; optical storage media such as Compact Disc/Digital VideoDiscs (CD/DVDs), Compact Disc-Read Only Memories (CD-ROMs), andholographic devices; magneto-optical storage media such as opticaldisks; carrier wave signal processing modules; and hardware devices thatare specially configured to store and execute program code, such asApplication-Specific Integrated Circuits (ASICs), Programmable LogicDevices (PLDs), Read-Only Memory (ROM) and Random-Access Memory (RAM)devices. Other embodiments described herein relate to a computer programproduct, which can include, for example, the instructions and/orcomputer code discussed herein.

In this disclosure, references to items in the singular should beunderstood to include items in the plural, and vice versa, unlessexplicitly stated otherwise or clear from the context. Grammaticalconjunctions are intended to express any and all disjunctive andconjunctive combinations of conjoined clauses, sentences, words, and thelike, unless otherwise stated or clear from the context. Thus, the term“or” should generally be understood to mean “and/or” and so forth. Theuse of any and all examples, or exemplary language (“e.g.,” “such as,”“including,” or the like) provided herein, is intended merely to betterilluminate the embodiments and does not pose a limitation on the scopeof the embodiments or the claims.

Some embodiments and/or methods described herein can be performed bysoftware (executed on hardware), hardware, or a combination thereof.Hardware modules may include, for example, a general-purpose processor,a field programmable gate array (FPGA), and/or an application specificintegrated circuit (ASIC). Software modules (executed on hardware) canbe expressed in a variety of software languages (e.g., computer code),including C, C++, Java™, Ruby, Visual Basic™, and/or otherobject-oriented, procedural, or other programming language anddevelopment tools. Examples of computer code include, but are notlimited to, micro-code or micro-instructions, machine instructions, suchas produced by a compiler, code used to produce a web service, and filescontaining higher-level instructions that are executed by a computerusing an interpreter. For example, embodiments may be implemented usingimperative programming languages (e.g., C, Fortran, etc.), functionalprogramming languages (Haskell, Erlang, etc.), logical programminglanguages (e.g., Prolog), object-oriented programming languages (e.g.,Java, C++, etc.) or other suitable programming languages and/ordevelopment tools. Additional examples of computer code include, but arenot limited to, control signals, encrypted code, and compressed code.

1. A system, comprising: a first plurality of communication deviceshaving access to a codebook of unitary matrices; a second plurality ofcommunication devices having access to the codebook of unitary matrices;at least one processor operatively coupled to the first plurality ofcommunication devices, the at least one processor configured to:transmit a signal representing a first encoded vector to the secondplurality of communication devices; and at least one processoroperatively coupled to the second plurality of communication devices,the at least one processor configured to: receive a transformed signalincluding a transformed version of the first encoded vector, detect arepresentation of an effective channel based on the transformed signal,identify left singular vectors of the representation of the effectivechannel and right singular vectors of the representation of theeffective channel, select a precoding matrix from the codebook ofunitary matrices based on a message for transmission, produce a secondencoded vector based on the precoding matrix, a complex conjugate of theleft singular vectors of the representation of the effective channel,and the right singular vectors of the representation of the effectivechannel, and transmit a signal representing the second encoded vector tothe first plurality of communication devices for identification of themessage.
 2. The system of claim 1, wherein at least one of the firstplurality of communication devices or the second plurality ofcommunication devices includes a plurality of antenna arrays, the firstplurality of communication devices and the second plurality ofcommunication devices configured to perform Multiple Input MultipleOutput (MIMO) operations.
 3. The system of claim 1, wherein the at leastone processor operatively coupled to the second plurality ofcommunication devices is configured to produce the second encoded vectorby: multiplying the complex conjugate of the left singular vectors ofthe representation of the effective channel by the precoding matrix toproduce an intermediate matrix; and right multiplying the intermediatematrix by the right singular vectors of the representation of theeffective channel to produce the second encoded vector.
 4. The system ofclaim 1, wherein the codebook of unitary matrices ispublicly-accessible.
 5. The system of claim 1, wherein the precodingmatrix is a first precoding matrix, the known vector is a first knownvector, and the message is a first message, the at least one processoroperatively coupled to the second plurality of communication devices isfurther configured to: select a second precoding matrix, from thecodebook of unitary matrices, for a second message for transmission,produce a third encoded vector based on a second known vector, thesecond precoding matrix, a complex conjugate of the left singularvectors of the representation of the effective channel, and the rightsingular vectors of the representation of the effective channel, andtransmit a signal representing the third encoded vector to the firstplurality of communication devices for identification of the secondmessage.
 6. The system of claim 1, wherein the at least one processoroperatively coupled to the second plurality of communication devices isfurther configured to transmit signals representing a plurality ofadditional encoded vectors to the first plurality of communicationdevices until a predetermined number of messages have been sent.
 7. Thesystem of claim 1, wherein the at least one processor operativelycoupled to the second plurality of communication devices is configuredto select the precoding matrix from the codebook of unitary matricesbased further on maximizing a capacity of a MIMO channel.
 8. A method,comprising: receiving, via a first communication device and at a firstprocessor, a signal representing a first encoded vector; detecting, viathe first processor, a representation of an effective channel based onthe received signal; identifying left singular vectors of therepresentation of the effective channel and right singular vectors ofthe representation of the effective channel; selecting, via the firstprocessor, a precoding matrix, from a codebook of unitary matrices, fora message for transmission; multiplying the complex conjugate of theleft singular vectors of the representation of the effective channel bythe precoding matrix to produce an intermediate matrix; rightmultiplying the intermediate matrix by the right singular vectors of therepresentation of the effective channel to produce a second encodedvector; and transmitting a signal representing the second encoded vectorto a second communication device, to cause a second processor operablycoupled to the second communication device to identify the message. 9.The method of claim 8, wherein at least one of the first communicationdevice or the second communication device includes a plurality ofantennas, the first communication device and the second communicationdevice configured to perform Multiple Input Multiple Output (MIMO)operations.
 10. The method of claim 8, wherein the codebook of unitarymatrices is publicly-accessible.
 11. The method of claim 8, wherein theprecoding matrix is a first precoding matrix and the message is a firstmessage, the method further comprising: selecting a second precodingmatrix from the codebook of unitary matrices, the second precodingmatrix associated with a second message for transmission, producing athird encoded vector based on the second precoding matrix, a complexconjugate of the left singular vectors, and the right singular vectorsof the representation of the effective channel, and transmitting asignal representing the third encoded vector to cause the secondcommunication device to identify the second message.
 12. The method ofclaim 8, further comprising transmitting signals representing aplurality of additional encoded vectors to the second communicationdevice until a predetermined number of messages have been sent.
 13. Themethod of claim 8, wherein the selecting the precoding matrix from thecodebook of unitary matrices is based on maximizing a capacity of a MIMOchannel.
 14. A non-transitory, processor-readable medium storingprocessor-executable instructions to cause a first processor to: detecta representation of an effective channel based on a signal received viaa first communication device, the signal representing a first encodedvector; identify left singular vectors of the representation of theeffective channel and right singular vectors of the representation ofthe effective channel; select a precoding matrix, from a codebook ofunitary matrices, for a message for transmission; multiply the complexconjugate of the left singular vectors by the precoding matrix toproduce an intermediate matrix; right multiply the intermediate matrixby the right singular vectors of the representation of the effectivechannel to produce a second encoded vector; and transmit a signalrepresenting the second encoded vector to a second communication device,to cause a second processor operably coupled to the second communicationdevice to identify the message.
 15. The non-transitory,processor-readable medium of claim 14, wherein at least one of the firstcommunication device or the second communication device includes aplurality of antennas, the first communication device and the secondcommunication device configured to perform Multiple Input MultipleOutput (MIMO) operations.
 16. The non-transitory, processor-readablemedium of claim 14, wherein the codebook of unitary matrices ispublicly-accessible.
 17. The non-transitory, processor-readable mediumof claim 14, wherein the precoding matrix is a first precoding matrixand the message is a first message, the processor-readable mediumfurther storing processor-executable instructions to cause the firstprocessor to: select a second precoding matrix from the codebook ofunitary matrices, the second precoding matrix associated with a secondmessage for transmission, produce a third encoded vector based on thesecond precoding matrix, a complex conjugate of the left singularvectors, and the right singular vectors of the representation of theeffective channel, and transmit a signal representing the third encodedvector to the second communication device for identification of thesecond message.
 18. The non-transitory, processor-readable medium ofclaim 12, wherein the processor-readable medium further storesprocessor-executable instructions to transmit signals representing aplurality of additional encoded vectors to the second communicationdevice until a predetermined number of messages have been sent.
 19. Thenon-transitory, processor-readable medium of claim 12, wherein theprocessor-executable instructions to select the precoding matrix, fromthe codebook of unitary matrices, for the message for transmission,include instructions to select the precoding matrix from the codebook ofunitary matrices based on maximizing a capacity of a MIMO channel.